/* Pr�ctica Final Inform�tica Gr�fica 2006
   Simulador Sistema Solar

   Mario Arias Gallego <mariari@lab.fi.uva.es>
   �lvaro Zubizarreta L�pez <alvazub@lab.fi.uva.es>
*/

#ifndef _ORBIT_H_

#define _ORBIT_H_

#include <math.h>
#include <stdio.h>


typedef struct {
  double t;     //Time
  double x;     // Coordinates
  double y;
  double z;
  double w;     //Argument of Pericenter 
  double wd;
  double a;     //Semi-major axis
  double e;     //Excentriciudad (0=c�rculo, 0-1=elipse, 1=parabola)
  double ed;
  double M;     //Mean Anomaly 
  double Md;
  double N;     //Longitude of ascending node
  double Nd;
  double i;     //Inclination of the ecliptic //độ nghiêng của elipse
  double id;
  double r;     //Radius
  double p;		// period of orbit
  double ang;	// Angle
  char nombre[100]; // Name of Planet
} Estado;

/* Obtencion de valores */
double getX(int i);
double getY(int i);
double getZ(int i);
double getIncT();
double getTime();
void setIncT(double inc);
double getPlanetRadius(int i);
double getStarRadius();
int    getNumPlanet();
char  *getPlanetName(int i);
double getPeriod(int i);

/* Establecimiento de valores */
void setT(double tiempo);

/* Funciones especificas para la aplicacion */
int    cargarPlanetas();
void   mover(int i);


#endif
